package com.jtny.nytb.equipment.vo.dataparam;

import com.jtny.component.entity.PageParam;
import com.jtny.nytb.valid.annotation.ValueValid;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.energymonitor.equipment.vo
 * @fileName DataParamPageQueryParamVO.java
 * @createTime 2023年09月19日 17:08
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("数据参量查询")
public class DataParamPageQueryParamVO extends PageParam implements Serializable {

    @ApiModelProperty("设备id")
    private Long equipmentId;

    @ApiModelProperty("参量编码")
    private String code;

    @ApiModelProperty("参量名称")
    private String name;

    @ApiModelProperty("数据上报标识查询条件，精确查询")
    private String reportIdentifier;


    @ApiModelProperty("统一参量标识查询条件，精确查询")
    private String unifiedIdentifier;

    /**
     * 参量来源(1设备自动采集 2系统计算 3常量 4手动填报)
     */
    @ApiModelProperty(value = "参量来源(1设备自动采集 2系统计算 3常量 4手动填报)")
    @ValueValid(intValues = {1, 2, 3, 4}, message = "参量来源非法")
    private Integer source;


    @ApiModelProperty("计量长度单位")
    private String measurementUnit;

    @ApiModelProperty("算法id")
    private Long algorithmId;

    @ApiModelProperty("记点频率数据")
    private Integer frequency;

    @ApiModelProperty("记点频率单位")
    private String frequencyUnit;

    @ApiModelProperty("数据类型：1-实时量，2-累计量")
    private Integer dataType;

}
